As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
One approach to the design and implementation of information handling systems for computer networks, particularly with regard to the development of client/server applications, includes designing client applications and client terminals so that the majority of the heavily used resources are at a remote computing machine, such as a centralized server, connected via a network. The client terminals generally have minimal memory, disk storage, and processor power, but are designed under the premise that most users connected to a powerful server do not need the additional processing power. With these client terminals, the total cost of ownership is minimized, because of the reduced resources and because the clients can be centrally administered and updated from the server. As such, these client terminals are suited for a network that can handle a significant number of terminals. If the client terminals have devices attached to them, then when the client terminals are connected to the server, not only the client terminals but also the client terminals' devices can become available to the server.
Some information handling systems have externally connected devices, such as monitors. One type of monitor is a display-port monitor that supports multi-channel audio playback as well as many advanced audio features. Remote desktop protocols (RDP) such as Microsoft RDP, Citrix independent computing architecture (ICA), and personal computer over internet protocol (PCOIP) use adaptive encoding which involves transform-based algorithms, such as H.264. This enables each type of display content (for example, text, images, video) to be encoded effectively using the best encoder/decoder for the type of content. RDPs use hardware acceleration for encoding at a server and decoding at a client. Hardware acceleration generally uses another hardware component to perform certain functions faster than is possible in software running on a more general-purpose central processing unit (CPU) or GPU. These GPU's are used for hardware acceleration which improves the overall system performance of the information handling system or the computing environment.
More and more display manufacturers are turning to higher-resolution displays to meet customer demand. The increased pixel counts have required increased bandwidth over the links or connections that drive these higher-resolution displays. To support the increase in data on these display links, the video electronic standard association (VESA) has introduced a display stream compression (DSC) standard for the pixel data over the display links of, for example, display-port monitors. These display-port monitors act like a hardware decoder or rather perform hardware acceleration.
However, RDPs may not take advantage of display-port monitors which support DSC over the display links. That is, RDPs may not be taking advantage of the hardware acceleration provided by the display-port monitors. Many RDP clients receive the compressed data from a server and then decode that data using the client GPU. The client again compresses the data to transmit the data over the display links to the associated monitor. This requires several steps including encoding at the server, decoding at the client, and re-encoding at the client resulting in an inefficient use of system resources. Many of the benefits associated with DSC are also not realized as certain encoding for text and images uses wavelet encoding algorithms that are not as robust and efficient as DSC. Further, adaptive encoding is generally used when the network bandwidth is highly available and network latency is low in a private cloud environment which requires more server and client hardware resources than may be required by DSC. The present invention addresses these issues by utilizing DSC for RDPs.